কন্ট্রোল স্টেটমেন্টস হলো সি++ প্রোগ্রামে ব্যবহৃত এমন বিবৃতি বা স্টেটমেন্ট যা প্রোগ্রামের নিয়ন্ত্রণ প্রবাহকে পরিচালনা করে। এগুলি প্রোগ্রামকে নির্দিষ্ট শর্ত বা পরিস্থিতির উপর ভিত্তি করে কাজ করার নির্দেশ দেয়। কন্ট্রোল স্টেটমেন্টসের মাধ্যমে প্রোগ্রামাররা শর্তাধীন লজিক তৈরি করতে এবং পুনরাবৃত্তিমূলক কাজ সম্পাদন করতে পারে।
সি++ এ তিন ধরনের কন্ট্রোল স্টেটমেন্টস রয়েছে:
কন্ডিশনাল স্টেটমেন্টস প্রোগ্রামে শর্তের উপর ভিত্তি করে কোডের নির্দিষ্ট অংশ এক্সিকিউট করতে সহায়ক। সি++ এ তিনটি কন্ডিশনাল স্টেটমেন্টস রয়েছে:
if
স্টেটমেন্টif
স্টেটমেন্ট একটি শর্ত যাচাই করে এবং শর্তটি সত্য হলে শুধুমাত্র কোডের একটি নির্দিষ্ট অংশ কার্যকর করে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int age = 20;
if (age >= 18) {
cout << "You are an adult." << endl;
}
return 0;
}
if-else
স্টেটমেন্টif-else
স্টেটমেন্ট শর্ত সত্য না হলে বিকল্প কোড এক্সিকিউট করতে ব্যবহৃত হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int age = 16;
if (age >= 18) {
cout << "You are an adult." << endl;
} else {
cout << "You are a minor." << endl;
}
return 0;
}
if-else if-else
স্টেটমেন্টif-else if-else
স্টেটমেন্ট একাধিক শর্ত যাচাই করতে ব্যবহৃত হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int score = 85;
if (score >= 90) {
cout << "Grade: A" << endl;
} else if (score >= 80) {
cout << "Grade: B" << endl;
} else {
cout << "Grade: C" << endl;
}
return 0;
}
switch
স্টেটমেন্টswitch
স্টেটমেন্ট একাধিক বিকল্পের মধ্যে নির্দিষ্ট একটি বিকল্পের উপর ভিত্তি করে কার্যকর হয়। এটি সাধারণত স্থিতিশীল মানের ক্ষেত্রে ব্যবহৃত হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int day = 3;
switch (day) {
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
default:
cout << "Invalid day" << endl;
}
return 0;
}
ইটারেটিভ স্টেটমেন্ট বা লুপ প্রোগ্রামের একটি নির্দিষ্ট অংশকে পুনরাবৃত্তি করতে সহায়ক। সি++ এ প্রধানত তিনটি লুপ রয়েছে:
for
লুপfor
লুপ একটি নির্দিষ্ট সংখ্যক সময় কোড এক্সিকিউট করতে ব্যবহৃত হয়। এটি সাধারণত একটি সূচনা মান, শর্ত, এবং ইনক্রিমেন্ট বা ডিক্রিমেন্ট নিয়ে কাজ করে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
cout << "Number: " << i << endl;
}
return 0;
}
while
লুপwhile
লুপ শর্ত সত্য থাকলে কোডের একটি নির্দিষ্ট অংশ পুনরায় চালায়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int i = 0;
while (i < 5) {
cout << "Number: " << i << endl;
i++;
}
return 0;
}
do-while
লুপdo-while
লুপ প্রথমে কোডটি একবার চালায় এবং পরে শর্ত যাচাই করে। শর্ত মিথ্যা হলেও এটি কমপক্ষে একবার কোড এক্সিকিউট করে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int i = 0;
do {
cout << "Number: " << i << endl;
i++;
} while (i < 5);
return 0;
}
জাম্প স্টেটমেন্ট প্রোগ্রামের প্রবাহকে পরিবর্তন করতে ব্যবহৃত হয়। C++ এ প্রধানত তিনটি জাম্প স্টেটমেন্ট রয়েছে:
break
স্টেটমেন্টbreak
স্টেটমেন্ট একটি লুপ বা switch
স্টেটমেন্ট থেকে বের হতে ব্যবহৃত হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
cout << "Number: " << i << endl;
}
return 0;
}
continue
স্টেটমেন্টcontinue
স্টেটমেন্ট বর্তমান পুনরাবৃত্তি বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে চলে যেতে ব্যবহৃত হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
cout << "Number: " << i << endl;
}
return 0;
}
goto
স্টেটমেন্টgoto
স্টেটমেন্ট প্রোগ্রামের প্রবাহকে সরাসরি নির্দিষ্ট লেবেলে নিয়ে যেতে ব্যবহৃত হয়, কিন্তু এটি সাধারণত ব্যবহার এড়ানো হয় কারণ এটি কোডকে জটিল করে তোলে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int i = 0;
start:
if (i < 3) {
cout << "Number: " << i << endl;
i++;
goto start;
}
return 0;
}
কন্ট্রোল স্টেটমেন্টগুলি প্রোগ্রামকে পরিচালনা করতে এবং শর্তাধীন, পুনরাবৃত্তি, এবং প্রবাহ পরিবর্তনের মতো কার্যক্রম সম্পাদন করতে সাহায্য করে। এগুলি ব্যবহার করে প্রোগ্রামাররা প্রোগ্রামের লজিককে আরও কার্যকরী এবং সৃজনশীলভাবে সংগঠিত করতে পারেন।
শর্ত ভিত্তিক স্টেটমেন্ট (Conditional Statement)হলো এমন কিছু স্টেটমেন্ট যা নির্দিষ্ট শর্ত বা কন্ডিশনের উপর ভিত্তি করে সিদ্ধান্ত গ্রহণ করে এবং প্রোগ্রামে নির্দিষ্ট অংশে প্রবেশ করে বা নির্দিষ্ট কোড চালায়। C++ এ শর্ত ভিত্তিক স্টেটমেন্টের প্রধানত তিনটি ধরন রয়েছে: if
, if-else
, এবং switch
।
if
স্টেটমেন্টif
স্টেটমেন্ট একটি শর্ত চেক করে এবং যদি শর্তটি সত্য হয়, তাহলে if
ব্লকের কোড এক্সিকিউট হয়। যদি শর্তটি মিথ্যা হয়, তবে কোডটি এড়িয়ে যাওয়া হয়।
#include <iostream>
using namespace std;
int main() {
int number = 10;
if (number > 5) {
cout << "Number is greater than 5" << endl;
}
return 0;
}
বর্ণনা:
if
স্টেটমেন্ট চেক করছে যে number
৫ এর চেয়ে বড় কিনা। যদি এটি সত্য হয়, তাহলে "Number is greater than 5"
আউটপুট হিসেবে প্রদর্শিত হবে।if-else
স্টেটমেন্টif-else
স্টেটমেন্ট ব্যবহার করে একটি শর্ত চেক করা হয়। যদি শর্তটি সত্য হয় তবে if
ব্লকের কোড এক্সিকিউট হবে; অন্যথায় else ব্লকের কোড এক্সিকিউট হবে।
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter your age: ";
cin >> age;
if (age >= 18) {
cout << "You are an adult." << endl;
} else {
cout << "You are a minor." << endl;
}
return 0;
}
বর্ণনা:
if
চেক করছে যে age
১৮ বা তার বেশি কিনা। যদি এটি সত্য হয়, তাহলে "You are an adult."
প্রিন্ট হবে; অন্যথায়, "You are a minor."
প্রিন্ট হবে।if-else if-else
স্টেটমেন্টif-else if-else
স্টেটমেন্ট ব্যবহার করে একাধিক শর্ত চেক করা যায়। প্রথম শর্তটি মিথ্যা হলে পরবর্তী শর্ত চেক করা হবে। যদি সব শর্ত মিথ্যা হয়, তাহলে else
ব্লক এক্সিকিউট হবে।
#include <iostream>
using namespace std;
int main() {
int score;
cout << "Enter your score: ";
cin >> score;
if (score >= 90) {
cout << "Grade: A" << endl;
} else if (score >= 80) {
cout << "Grade: B" << endl;
} else if (score >= 70) {
cout << "Grade: C" << endl;
} else {
cout << "Grade: F" << endl;
}
return 0;
}
বর্ণনা:
score
৯০ বা তার বেশি হয়, তাহলে "Grade: A"
প্রদর্শিত হবে; যদি ৮০ বা তার বেশি হয়, "Grade: B"
, যদি ৭০ বা তার বেশি হয় "Grade: C"
প্রদর্শিত হবে। অন্যথায় "Grade: F"
প্রদর্শিত হবে।switch
স্টেটমেন্টswitch
স্টেটমেন্ট একটি ভ্যারিয়েবলের মানের উপর ভিত্তি করে একাধিক শর্ত পরীক্ষা করে। এটি সাধারণত এমন ক্ষেত্রে ব্যবহৃত হয় যেখানে একটি ভ্যারিয়েবল একাধিক স্থির মানের মধ্যে যেকোনো একটি হতে পারে। switch
স্টেটমেন্টে প্রতিটি সম্ভাব্য মানের জন্য একটি case
তৈরি করা হয় এবং যদি কোনো কেসের সাথে মান মিলে যায়, তবে সেই কেসের ব্লক এক্সিকিউট হয়।
#include <iostream>
using namespace std;
int main() {
int day;
cout << "Enter day number (1-7): ";
cin >> day;
switch (day) {
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
case 4:
cout << "Thursday" << endl;
break;
case 5:
cout << "Friday" << endl;
break;
case 6:
cout << "Saturday" << endl;
break;
case 7:
cout << "Sunday" << endl;
break;
default:
cout << "Invalid day number" << endl;
}
return 0;
}
বর্ণনা:
day
ভ্যারিয়েবলের মান চেক করা হচ্ছে। যদি এটি 1
, 2
, 3
, ... 7
এর মধ্যে কোনো একটি হয়, তাহলে সংশ্লিষ্ট দিনটি প্রিন্ট হবে। break
স্টেটমেন্টটি প্রতিটি কেস ব্লকের শেষে ব্যবহার করা হয়, যাতে একটি কেস এক্সিকিউট হওয়ার পর switch
থেকে বেরিয়ে আসে।default
কেস তখন এক্সিকিউট হয় যখন day
এর মান কোনো কেসের সাথে মেলে না। এটি ঐচ্ছিক কিন্তু প্রয়োজনীয় নয়।এগুলি ব্যবহার করে প্রোগ্রামিংয়ে সিদ্ধান্ত গ্রহণ এবং প্রোগ্রামের কার্যক্রম নিয়ন্ত্রণ করা সম্ভব হয়।
লুপিং স্টেটমেন্ট বা লুপ হলো প্রোগ্রামে একাধিকবার কোডের একটি নির্দিষ্ট অংশ পুনরায় চালানোর পদ্ধতি। সি++ এ লুপিং স্টেটমেন্ট ব্যবহার করে প্রোগ্রামাররা একই কোড একাধিকবার কার্যকর করতে পারেন। সি++ এ তিন ধরনের লুপিং স্টেটমেন্ট রয়েছে:
for
লুপfor
লুপ সাধারণত একটি নির্দিষ্ট সংখ্যক সময় কোড এক্সিকিউট করতে ব্যবহৃত হয়। for
লুপের মধ্যে সাধারণত তিনটি অংশ থাকে: সূচনামূলক বিবৃতি (initialization), শর্ত (condition), এবং ইনক্রিমেন্ট বা ডিক্রিমেন্ট (increment/decrement)।
সাধারণ গঠন:
for (initialization; condition; increment/decrement) {
// কোড ব্লক যা পুনরায় চালানো হবে
}
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
cout << "Number: " << i << endl;
}
return 0;
}
কিভাবে কাজ করে:
while
লুপwhile
লুপ প্রথমে শর্ত যাচাই করে, এবং শর্ত সত্য হলে কোডের একটি নির্দিষ্ট অংশ পুনরায় চালায়। while
লুপ সাধারণত ব্যবহার করা হয় যখন পুনরাবৃত্তি সংখ্যা নির্দিষ্ট না থাকে।
সাধারণ গঠন:
while (condition) {
// কোড ব্লক যা পুনরায় চালানো হবে
}
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int i = 0;
while (i < 5) {
cout << "Number: " << i << endl;
i++;
}
return 0;
}
কিভাবে কাজ করে:
do-while
লুপdo-while
লুপ প্রথমে কোড ব্লক এক্সিকিউট করে এবং পরে শর্ত যাচাই করে। এর মানে, শর্ত মিথ্যা হলেও এটি অন্তত একবার কোড ব্লক এক্সিকিউট করে।
সাধারণ গঠন:
do {
// কোড ব্লক যা অন্তত একবার চালানো হবে
} while (condition);
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int i = 0;
do {
cout << "Number: " << i << endl;
i++;
} while (i < 5);
return 0;
}
কিভাবে কাজ করে:
বৈশিষ্ট্য | for লুপ | while লুপ | do-while লুপ |
---|---|---|---|
ব্যবহার | নির্দিষ্ট সংখ্যক পুনরাবৃত্তির জন্য | শর্ত ভিত্তিক পুনরাবৃত্তির জন্য | অন্তত একবার কোড চালানোর পর শর্ত যাচাই করে |
শর্ত যাচাই | শুরুতেই শর্ত যাচাই | শুরুতেই শর্ত যাচাই | শেষে শর্ত যাচাই |
কোড এক্সিকিউশন | শর্ত মিথ্যা হলে একবারও এক্সিকিউট হয় না | শর্ত মিথ্যা হলে একবারও এক্সিকিউট হয় না | শর্ত মিথ্যা হলেও অন্তত একবার এক্সিকিউট হয় |
সি++ এ লুপিং স্টেটমেন্টগুলি প্রোগ্রামের কোড পুনরাবৃত্তি করতে ব্যবহৃত হয়। for
লুপ সাধারণত নির্দিষ্ট সংখ্যক পুনরাবৃত্তির জন্য ব্যবহার করা হয়, while
লুপ শর্তের উপর ভিত্তি করে পুনরাবৃত্তি করে, এবং do-while
লুপ শর্ত যাচাইয়ের আগে অন্তত একবার কোড এক্সিকিউট করে। এই লুপগুলি প্রোগ্রামিংকে আরও কার্যকরী এবং সময় সাশ্রয়ী করতে সহায়ক।
ব্রেক (break) এবং কন্টিনিউ (continue) স্টেটমেন্ট C++ এ লুপ এবং switch স্টেটমেন্টের ভিতরে ব্যবহৃত হয়। এদের সাহায্যে লুপের কার্যক্রম নিয়ন্ত্রণ করা হয় এবং প্রোগ্রামের কার্যক্রমের নির্দিষ্ট অংশ এড়িয়ে যাওয়া বা সম্পূর্ণরূপে লুপ বন্ধ করার সুযোগ পাওয়া যায়।
break
স্টেটমেন্টbreak
স্টেটমেন্ট একটি লুপ বা switch
স্টেটমেন্টের কার্যক্রম সম্পূর্ণরূপে বন্ধ করে এবং লুপের বাইরে চলে আসে। এটি সাধারণত for
, while
, do-while
লুপ এবং switch
স্টেটমেন্টের ভিতরে ব্যবহৃত হয়।
break
স্টেটমেন্ট একটি লুপে ব্যবহার#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // লুপ বন্ধ করবে যখন i এর মান ৫ হবে
}
cout << i << " ";
}
return 0;
}
বর্ণনা:
for
লুপের মাধ্যমে ১ থেকে ১০ পর্যন্ত সংখ্যা প্রিন্ট করার জন্য চেষ্টা করা হচ্ছে। কিন্তু যখন i
এর মান ৫ হয়, তখন break
স্টেটমেন্ট লুপ বন্ধ করে এবং for
লুপ থেকে বেরিয়ে আসে। তাই আউটপুটে শুধুমাত্র ১ থেকে ৪ পর্যন্ত সংখ্যা প্রদর্শিত হবে।break
স্টেটমেন্ট switch
স্টেটমেন্টে ব্যবহার#include <iostream>
using namespace std;
int main() {
int day = 3;
switch (day) {
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
default:
cout << "Invalid day" << endl;
}
return 0;
}
বর্ণনা:
switch
স্টেটমেন্টে day
ভ্যারিয়েবল চেক করা হচ্ছে। যখন day
এর মান 3
হয়, তখন "Wednesday"
প্রিন্ট হয় এবং break
স্টেটমেন্ট switch
থেকে বেরিয়ে আসে।continue
স্টেটমেন্টcontinue
স্টেটমেন্ট একটি লুপের বর্তমান পুনরাবৃত্তি (iteration) বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে চলে যায়। এটি সাধারণত এমন ক্ষেত্রে ব্যবহৃত হয় যেখানে একটি নির্দিষ্ট শর্ত পূরণের সময় লুপের অবশিষ্ট অংশ এড়িয়ে যাওয়া প্রয়োজন এবং পরবর্তী পুনরাবৃত্তিতে যেতে হয়।
continue
স্টেটমেন্ট একটি লুপে ব্যবহার#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // i এর মান ৫ হলে বর্তমান পুনরাবৃত্তি বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে চলে যাবে
}
cout << i << " ";
}
return 0;
}
বর্ণনা:
for
লুপের মাধ্যমে ১ থেকে ১০ পর্যন্ত সংখ্যা প্রিন্ট করার জন্য চেষ্টা করা হচ্ছে। কিন্তু যখন i
এর মান ৫ হয়, তখন continue
স্টেটমেন্টের কারণে লুপের বর্তমান পুনরাবৃত্তি বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে চলে যায়। তাই আউটপুটে ৫ ছাড়া ১ থেকে ১০ পর্যন্ত সমস্ত সংখ্যা প্রদর্শিত হবে।break
এবং continue
এর পার্থক্যবৈশিষ্ট্য | break | continue |
---|---|---|
কার্যক্রম | লুপ বা switch স্টেটমেন্ট সম্পূর্ণরূপে বন্ধ করে। | বর্তমান পুনরাবৃত্তি বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে চলে যায়। |
ব্যবহারের ক্ষেত্রে | লুপ এবং switch স্টেটমেন্টে ব্যবহৃত হয়। | শুধুমাত্র লুপে ব্যবহৃত হয়। |
সাধারণ উদাহরণ | if (i == 5) { break; } | if (i == 5) { continue; } |
break
স্টেটমেন্ট একটি লুপ বা switch
স্টেটমেন্ট সম্পূর্ণরূপে বন্ধ করে দেয়।continue
স্টেটমেন্ট লুপের বর্তমান পুনরাবৃত্তি এড়িয়ে পরবর্তী পুনরাবৃত্তিতে চলে যায়।এই স্টেটমেন্টগুলো প্রোগ্রামের কার্যক্রম নিয়ন্ত্রণ করতে সাহায্য করে এবং প্রোগ্রামকে আরও কার্যকরী ও নিয়ন্ত্রণযোগ্য করে তোলে।
common.read_more